home *** CD-ROM | disk | FTP | other *** search
/ Hyper Animation Series: Viper (Limited Edition) / Hyper Animation Series: VIPER (Limited Edition).iso / pc / SYSTEM / class / BOSS2Attack1.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-08-04  |  3.3 KB  |  104 lines

  1. class BOSS2Attack1 extends EnemyAction {
  2.    private int fxTime = 0;
  3.    private boolean[] fShot = new boolean[3];
  4.  
  5.    public BOSS2Attack1(StgFrame var1) {
  6.       super(var1);
  7.       this.fShot[0] = false;
  8.       this.fShot[1] = false;
  9.       this.fShot[2] = false;
  10.    }
  11.  
  12.    public boolean action(EnemyIndex var1) {
  13.       BOSS2Index var2 = (BOSS2Index)var1;
  14.       int var3 = super.resource.getEnemySpeed();
  15.       super.resource.getEnemy();
  16.       if (this.fxTime >= 0 && !this.fShot[0]) {
  17.          this.putShot(var1);
  18.          this.fShot[0] = true;
  19.       }
  20.  
  21.       if (this.fxTime >= 1048576 && !this.fShot[1]) {
  22.          this.putShot(var1);
  23.          this.fShot[1] = true;
  24.       }
  25.  
  26.       if (this.fxTime >= 2097152 && !this.fShot[2]) {
  27.          this.putShot(var1);
  28.          this.fShot[2] = true;
  29.       }
  30.  
  31.       if (this.fxTime >= 4194304) {
  32.          if (var2.getCount() != 3) {
  33.             var1.setEnemyAction(new BOSS2Nomal(super.resource));
  34.          } else {
  35.             var1.setEnemyAction(new BOSS2TableMake(super.resource));
  36.          }
  37.       }
  38.  
  39.       this.fxTime += var3;
  40.       this.destroy(var1);
  41.       return true;
  42.    }
  43.  
  44.    private boolean putShot(EnemyIndex var1) {
  45.       Enemy var2 = super.resource.getEnemy();
  46.       Position var3 = ((StgObjectIndex)var1).getPosition();
  47.       int var5 = var3.getX();
  48.       int var6 = var3.getY() - 2621440;
  49.       int var7 = -327680;
  50.       short var8 = 3072;
  51.       int var9 = -131072;
  52.  
  53.       for(int var10 = 0; var10 != 8; ++var10) {
  54.          ES10Index var4 = new ES10Index(new Position(var5, var6, 0), StgData.getSpriteAnimeES12Nomal(), new Position(655360, 655360, 0), 0, new ES12Nomal(super.resource), 0, 65536, 100, 1, var7 + -(Fixed.Random() << 1), var8 + (Fixed.Random() >> 2), var9);
  55.          ((StgObject)var2).add(var4);
  56.          var9 += 32768;
  57.       }
  58.  
  59.       return true;
  60.    }
  61.  
  62.    public boolean checkHitPlayerShip(EnemyIndex var1, PlayerShipIndex var2) {
  63.       super.resource.getEnemy();
  64.       return ((StgObjectIndex)var1).checkHit(var2);
  65.    }
  66.  
  67.    public boolean checkHitPlayerShot(EnemyIndex var1, PlayerShotIndex var2) {
  68.       boolean var3 = false;
  69.       super.resource.getEnemy();
  70.       if (((StgObjectIndex)var1).checkHit(var2)) {
  71.          var3 = true;
  72.       }
  73.  
  74.       return var3;
  75.    }
  76.  
  77.    public boolean checkHitBom(EnemyIndex var1) {
  78.       super.resource.getEnemy();
  79.       int var2 = var1.getHitPoint();
  80.       var2 -= 983040;
  81.       if (var2 < 0) {
  82.          var2 = 0;
  83.       }
  84.  
  85.       var1.setHitPoint(var2);
  86.       return true;
  87.    }
  88.  
  89.    private boolean destroy(EnemyIndex var1) {
  90.       super.resource.getEnemy();
  91.       SpriteAnimeIndex var2 = ((StgObjectIndex)var1).getSpriteAnimeIndex();
  92.       boolean var3 = false;
  93.       Status var4 = super.resource.getStatus();
  94.       if (var1.getHitPoint() == 0) {
  95.          var4.add(var1.getScore());
  96.          var2.setSpriteAnimeData(StgData.getSpriteAnimeDestroyA());
  97.          var1.setEnemyAction(new BOSSDestroy(super.resource));
  98.          var3 = true;
  99.       }
  100.  
  101.       return var3;
  102.    }
  103. }
  104.